package org.opens.javaskill.jackson.serialize;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 功能:
 *      时间序列化工具,直接将时间类型的转为yyyy-MM-dd类型的数据
 * 使用方法:
 *      在实体的get方法上直接加@JsonSerialize(using = DateSerialize.class)
 * @author Shine
 */
public class DateSerialize extends JsonSerializer<Date> {

    /**
     * 定义时间格式
     */
    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    @Override
    public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
        gen.writeString(sdf.format(value));
    }
}
